package com.alone.jpa.entity.enhancer;

/**
 * @author Alone
 */
public interface EntityEnhanceHandler {

    /**
     * 新增数据-前置处理
     * @param entity 实体对象
     */
    default void prePersist(Object entity) {

    }

    /**
     * 新增数据-后置处理
     * @param entity 实体对象
     */
    default void postPersist(Object entity) {

    }

    /**
     * 修改数据-前置处理
     * @param entity 实体对象
     */
    default void preUpdate(Object entity) {

    }

    /**
     * 修改数据-后置处理
     * @param entity 实体对象
     */
    default void postUpdate(Object entity) {

    }

    /**
     * 加载数据-后置处理
     * @param entity 实体对象
     */
    default void postLoad(Object entity) {

    }

    /**
     * 删除数据-前置处理
     * @param entity 实体对象
     */
    default void preRemove(Object entity) {

    }

    /**
     * 删除数据-前置处理
     * @param entity 实体对象
     */
    default void postRemove(Object entity) {

    }

}
